#ifndef _OUT_OF_BOUNDS_EXCEPTION_H_
#define _OUT_OF_BOUNDS_EXCEPTION_H_

////////////////////////////////////////////////////////////////////////////////
// Includes
////////////////////////////////////////////////////////////////////////////////

#include "Exception.hpp"

////////////////////////////////////////////////////////////////////////////////
// Namespaces
////////////////////////////////////////////////////////////////////////////////

namespace Exceptions {

////////////////////////////////////////////////////////////////////////////////
// Implementation
////////////////////////////////////////////////////////////////////////////////

/**
 *  Array Out of Bounds exception class.
 *	This class creates an exception which should be thrown when trying to get
 *	an element out of the array bounds.
 */
 
class OutOfBoundsException : public Exception {

	public:

		/**
		 *  Exception creation.
		 *	@param A specific message.
		 */
		OutOfBoundsException(const std::string comment = "")
		: Exception(comment,"Out of bounds exception") {}

};

////////////////////////////////////////////////////////////////////////////////
// Closing Namespaces
////////////////////////////////////////////////////////////////////////////////

}

////////////////////////////////////////////////////////////////////////////////

#endif
